home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / qbsnip.zip / FLAME.BAS < prev    next >
BASIC Source File  |  1997-06-20  |  2KB  |  68 lines

  1. ' Fire and Flames
  2. ' by Andrew L. Ayers (andrewa@indirect.com)
  3. ' April 30, 1997
  4. '
  5. ' Modified by Tika Carr (t.carr@pobox.com) on June 20, 1997
  6.  
  7. DEFINT A-Z
  8. DECLARE SUB Flame (ix%, iy%)
  9.  
  10. SCREEN 13
  11.  
  12. RANDOMIZE (-TIMER)
  13.  
  14. 'Make some random stars
  15. FOR i = 0 TO 100
  16.   x = INT(RND * 319): y = INT(RND * 199): c = 80 + INT(RND * 8)
  17.   PSET (x, y), c
  18. NEXT
  19.  
  20. ' Make a red candle
  21. LINE (135, 83)-(175, 181), 16, BF
  22.  
  23. ' Put in text & color in text background (messy, I know...)
  24. COLOR 68: LOCATE 15, 20: PRINT "N": LOCATE 16, 20: PRINT "O"
  25. LOCATE 17, 20: PRINT "E": LOCATE 18, 20: PRINT "L"
  26. LINE (151, 111)-(160, 144), 0, B: LINE (150, 110)-(160, 145), 68, B
  27. PAINT (159, 114), 16, 68: LINE (150, 110)-(160, 145), 16, B
  28. PAINT (155, 123), 16, 68
  29.  
  30. 'Light the candle :)
  31. Flame 155, 80
  32.  
  33.  
  34. PALETTE: SCREEN 0, 0, 0, 0: WIDTH 80: COLOR 7, 0: CLS : END
  35.  
  36. SUB Flame (ix, iy)
  37.  
  38. ' *** Original palette routine by PHOBIA ***
  39. FOR slot = 0 TO 63
  40.   ' Fade from black to red (slots 0 - 15)
  41.   OUT &H3C7, slot / 4: OUT &H3C9, slot: OUT &H3C9, 0: OUT &H3C9, 0
  42.   ' Fade from red to yellow (slots 16 - 31)
  43.   OUT &H3C7, slot / 4 + 16: OUT &H3C9, 63: OUT &H3C9, slot: OUT &H3C9, 0
  44.   ' Fade from yellow to white (slots 32- 47)
  45.   OUT &H3C7, slot / 4 + 32: OUT &H3C9, 63: OUT &H3C9, 63: OUT &H3C9, slot
  46. NEXT
  47.  
  48. 'CIRCLE (159, 100), 2, 47: PAINT (159, 100), 47, 47
  49. CIRCLE (ix, iy), 2, 47: PAINT (ix, iy), 47, 47
  50.  
  51. DO
  52.   'FOR y = 98 TO 69 STEP -1: FOR x = 157 TO 161
  53.   FOR y = iy - 2 TO iy - 31 STEP -1: FOR x = ix - 2 TO ix + 2
  54.     c = POINT(x + (INT(RND * 3) - 1), y) + POINT(x, y + 1)
  55.     c = (c \ 2) + INT(RND * 3) - 1
  56.     IF c < 0 THEN
  57.        c = 0
  58.     ELSE
  59.       IF c > 47 THEN c = 47
  60.     END IF
  61.     PSET (x, y), c
  62.   NEXT x, y
  63. LOOP UNTIL INKEY$ <> ""
  64.  
  65. END SUB
  66.  
  67.  
  68.